/*
 * @Date: 2019-12-23 15:07:47
 * @Author: jiangsenlin
 * @Description: 常用正则
 */


const REG = {
    //汉字
    isZH_CN: /^[\u4e00-\u9fa5]{0,}$/,
    //英文和数字
    isEnOrDigit: /^[A-Za-z0-9]+$/,
    //长度为3-20的所有字符,
    isChar3_20: /^.{3,20}$/,
    //由26个英文字母组成的字符串
    isEn: /^[A-Za-z]+$/,
    //由26个大写英文字母组成的字符串
    isEnAndUpper: /^[A-Z]+$/,
    //由26个小写英文字母组成的字符串
    isEnAndLower: /^[a-z]+$/,
    //由数字、26个英文字母或者下划线组成的字符串：^\w+$ 或 ^\w{3,20}$
    isDigitOrEnOr_Fixed: /^\w+$/,
    //中文、英文、数字包括下划线
    isZhOrEnOrDigitOr_Fixed: /^[\u4E00-\u9FA5A-Za-z0-9_]+$/,
    //中文、英文、数字但不包括下划线等符号 ^[\u4E00-\u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$
    isZhOrEnOrDigitFixed: /^[\u4E00-\u9FA5A-Za-z0-9]+$/,
    //输入含有^%&amp;/,;=?$\
    isContainIllegalChar: /[^%&amp;\/,;=?$\x22]+/,
    //Email地址
    isEmail: /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/,
    //域名
    isDomain: /[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\/.?/,
    //[a-zA-z]+://[^\s]* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&amp;=]*)?$
    isInternetURL: /^http:\/\/([\w-]+\.)+[\w-]+(\/[\w-./?%&amp;=]*)?$/,
    //手机号码
    isPhone: /^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|17[0|1|2|3|5|6|7|8]|18[0|1|2|3|5|6|7|8]|18[0|1|2|3|5|6|7|8|9])\d{8}$/,
    //身份证号(15位、18位数字)
    isIDCard: /^\d{15}|\d{18}$/,
    //^([0-9]){7,18}(x|X)?$ 或 ^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$
    isShortIDCard: /^([0-9]){7,18}(x|X)?$/,
    //帐号是否合法(字母开头，允许5-16字节，允许字母数字下划线)
    isIllegalUserName: /^[a-zA-Z][a-zA-Z0-9_]{4,15}$/,
    //密码(以字母开头，长度在6~18之间，只能包含字母、数字和下划线)
    isPwd: /^[a-zA-Z]\w{5,17}$/,
    //强密码(必须包含大小写字母和数字的组合，不能使用特殊字符，长度在8-10之间)
    isPowerPwd: /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$/,
    //日期格式
    isDate: /^\d{4}-\d{1,2}-\d{1,2}/,
    //(01～09和10～12)
    isMonth: /^(0?[1-9]|1[0-2])$/,
    //一个月的31天(01～09和10～31)
    isDay: /^((0?[1-9])|((1|2)[0-9])|30|31)$/,
    //金钱
    isMoney: /^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$/,
    //xml
    isXml: /^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$/,
    //(包括汉字在内，可以用来计算字符串的长度(一个双字节字符长度计2，ASCII字符计1))
    isDoubleByte: /[^\x00-\xff]/,
    //空白字符
    isWritespace: /[\s+]/,
    // (腾讯QQ号从10000开始)
    isQQ: /[1-9][0-9]{4,}/,
    //(中国邮政编码为6位数字)
    isZipCode: /[1-9]\d{5}(?!\d)/,
    //IP
    isIpaddress: /((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))/,
    // 大于零的整数
    greaterThanZearoInt:/^\+?[1-9]\d*$/,
   // 大于零的数小数位最多保留两位
   greaterThanZearoNumHasdDecimal:/(^[1-9](\d+)?(\.\d{1,2})?$)|(^\d\.\d{1,2}$)/,
};

export default REG


